import {formatDate} from "vue2-element-dict"
export default {
  computed: {
    userInfo() {
      return this.$store.getters.userInfo
    }
  },
  methods: {
    // 表单重置
    resetForm(refName) {
      if (this.$refs[refName]) {
        this.$refs[refName].resetFields()
      }
    },
    
    // 添加日期范围
    addDateRange(params, dateRange, datePickerType = "daterange", propName = "Time") {
      dateRange = Array.isArray(dateRange) ? dateRange : []
      params["begin" + propName] = dateRange[0] || ""
      params["end" + propName] = dateRange[1] || ""

      //如果是日期范围（无具体时间点），endTime 加一天
      if (datePickerType === "daterange" && dateRange[1]) {
        const date = formatDate(new Date(dateRange[1]).getTime() + (1000 * 60 * 60 * 24 - 1), "datetime")
        params["end" + propName] = date
      }
      
      return params
    },
    // 根据权限数组判定是否有权限
    hasPermi(permiArr) {
      return this.$store.getters.permissionList.some(item => {
        return permiArr.includes(item)
      })
    },
    // 按钮去除聚焦
    btnBlur() {
      let target = event.target
      if (target.nodeName === "SPAN" || target.nodeName === "I") {
        target = event.target.parentNode
      }
      target.blur()
    },
    // 预览
    handlePreview(img) {
      if (!img) {
        return
      }
      if (Array.isArray(img)) {
        this.$xiaobuImgPreview({
          multiple: true, // 开启多图预览模式
          nowImgIndex: 0, // 多图预览，
          imgList: img // 需要预览的多图数组
        })
      } else {
        this.$xiaobuImgPreview({
          url: img // 单图预览
        })
      }
    }
  }
}